package com.holiday.spring.domain;

import java.util.List;
import java.util.Map;

/**
 * 后置处理器
 *  1、BeanPostProcessor，在调用初始化方法前后对Bean进行额外加工的
 *  applicationContext会自动扫描实现BeanPostProcessor的bean，并注册
 *  这些bean为后置处理器，这个是针对所有的Bean
 *  2、执行顺序
 *      1、spring ioc容器实例化bean
 *      2、调用BeanPostProcessor的postprocessbeforeinitializetion方法
 *      3、调用bean实例的初始化方法
 *      4、调用BeanPostProcessor的postProcessAfterInitialization方法
 *  3、使用
 *      1、自定义类，实现 BeanPostProcessor，Ordered 这两个类；
 *          1、BeanPostProcessor这个类就是后置处理器
 *          2、Ordered这个是类是配置的后置处理器优先级的问题，如果写了多个BeanPostProcessor后置处理器的话，使用这个order来控制执行的顺序，返回值越小，执行顺序越优先
 *      2、在applicationContext.xml 配置 <bean class="com.holiday.spring.processor.CustomBeanPostProcessor"/>
 */
public class Video2 {
    private int id;
    private String title;
    private String summary;

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    private List<String> chapterList;
    private Map<Integer,String> videoMap;

    public List<String> getChapterList() {
        return chapterList;
    }

    public void setChapterList(List<String> chapterList) {
        this.chapterList = chapterList;
    }

    public Map<Integer, String> getVideoMap() {
        return videoMap;
    }

    public void setVideoMap(Map<Integer, String> videoMap) {
        this.videoMap = videoMap;
    }

    public Video2() {
    }

    public Video2(int id, String title) {
        this.id = id;
        this.title = title;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}
